使用 bat 批处理运行 python | 您所在的位置:网站首页 › 最全Windows下通过bat脚本执行python程序从编写到执行 › 使用 bat 批处理运行 python |
使用 bat 批处理运行 python
最近实习处理数据,在一个工作流里面需要同时使用到 python2 和 python3,这样我就不能使用一个 main 文件把所有步骤串起来一键执行,多了很多人工操控的步骤。 bat 打开了新世界的大门。 这篇笔记讲讲用到的基本 bat 语法,以及如何使用它来把 python 程序串起来。 bat 基本语法在此之前,大概解释一下。bat 就是批处理程序(不确定是不是可以在 linux 上运行)。 bat 注释在一行代码前面加上Rem就代表注释,类似 python 中的 #。 使用示例 Rem Echo test 打印到控制台在需要打印的文字前面加上ECHO就代表打印,类似 python 中的 print。 需要注意的是,bat中的字符串是不需要引号的。 使用示例 ECHO The best language of world is Python. 申明变量使用set来申明变量。 比如申明一个名为list的数组 set list=1 2 3 4 set list=beijing shanghai changsha FOR循环使用示例。打印list数组中的每一个元素。 For %%A IN (%list%) DO ( Rem 这里开始是循环体 ECHO %%A ) 使用 bat 来执行 python 程序其实就是平时我们在命令行运行 python 程序一样。 python test.py python2 test.py python3 test.py如果要指定 python 解释器,那就带上解释器的完整路径。比如 C:\Users\ivy\anaconda3\python.exe test.py(当然,python 程序也可以是完整路径。其实建议使用完整路径,不然 bat 里还要切换工作目录,比较麻烦。) 给 python 程序传参数 首先,python 程序里面要设置接收参数。这个使用 sys 包就可以做到。 import sys print(sys.argv[1]) # 第一个参数 (第0个参数是 python 文件路径) print(sys.argv[2]) # 第二个参数然后,在 bat 里直接在命令后加上对应的参数就好 C:\Users\ivy\anaconda3\python.exe test.py 参数1 参数2 完整示例 @echo off Rem 申明 list 数组 set list=beijing shanghai changsha Rem 循环 list 数组 For %%A IN (%list%) DO( C:\Users\ivy\anaconda3\python.exe test.py %%A c:\Python27\ArcGIS10.7\python.exe test2.py %%A ECHO *********** %%A done **************** ) Rem 循环完不要直接退出程序,等待 check 一下 pause |
CopyRight 2018-2019 实验室设备网 版权所有 |